package com.dd.common.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dd.common.entity.SysFile;
import com.dd.common.pojo.dto.FileUploadDTO;
import com.dd.common.pojo.vo.UploadFilesVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
* @author cheng
* @description 针对表【c_sys_file(文件上传记录表)】的数据库操作Service
* @createDate 2025-08-23 17:00:06
*/
public interface SysFileService extends IService<SysFile> {

    /**
     * 上传文件
     * @param file 文件
     * @param dto 文件上传参数
     * @return 文件上传结果
     */
    UploadFilesVo uploadFile(MultipartFile file, FileUploadDTO dto);

    /**
     * 批量移动文件
     * @param folderId 文件夹ID
     * @param ids 文件ID
     * @return boolean
     */
    Boolean moveBatch(Long folderId, List<Long> ids);

    /**
     * 检查文件是否已经上传
     * @param hash 文件哈希值
     * @return SysFile
     */
    SysFile checkFile(String hash);
}
